1. Field of the Invention
The present invention relates to the design of a data communication bus for electrical/electronic systems.
2. Description of the Related Art
Electronic systems such as communication systems and other system typically comprise various circuits and subsystems interconnected to form the overall system. Often there is a need to change, repair or otherwise alter the subsystems or various portions of the entire system. Additionally, there is a need to monitor and maintain an accounting of the current configuration of a system especially after it has been modified. The monitoring can be done with monitoring equipment or by using crafts person to confirm the proper operation of the system and to account for the various components of the system. When monitoring equipment is used, such equipment not only determine the current make up of the system but can detect if any one or more of the various subsystems are operating properly. The process of monitoring and determining the current make up of an electronic system is called inventory control. Many times the electronic system to be monitored is located remotely from the monitoring equipment. Therefore inventory control systems have been developed to allow the various subsystems to report their current status to monitoring equipment. The various subsystems can be, for example, printed circuit boards, circuit packs, ASICs (Application Specific Integrated Circuit) and other electrical circuitry. Each of the subsystems that is monitored has a communication device installed thereon that can report the existence and status.
A communication device that can be used for reporting purposes is an I-button device. The I-button device is usually interfaced to a subsystem of an electronic system and its output is connected via a one-wire bus through which the I-button receives queries from a monitoring circuit and reports the status of the subsystem to which it is interfaced. Also, the I-button is powered from the one wire bus. Thus for an electrical system comprising a plurality of subsystems an I-bus system can be built where a plurality of I-button device are connected to the one-wire bus and upon query from a remote processor, report their information to the processor. An I-button typically contains communication circuitry, microprocessor circuitry and memory circuits. The memory circuits are used to store reporting data describing the status of a subsystem and identification data used to identify the particular subsystem whose information is being reported by the I-button. A protocol has been developed that dictates how a plurality of I-button devices connected to a one-wire bus is to transmit information onto the bus; this protocol will hereinafter be referred to as the one wire bus I-button protocol. The I-button devices do not initiate the communication; they respond to the queries of a monitoring processor or circuit that is also connected to the one wire bus. The processor transmits queries for specific I-button devices onto the bus. The queries are transmitted as per the one wire bus I-button protocol. Each query specifies an I-button from which information is requested. The I-buttons not only use the one-wire bus to respond to queries from a monitoring processor but the I-buttons also are powered via the bus. In sum, each I-button device is able to receive queries (in the form of digital communication signals) from a processor or circuit connected to the one wire bus and each I-button receives its power from the one wire bus.
Referring to FIG. 1 there is shown a one wire bus system to which are connected various I-buttons (110, 112, 114) that report the status of their associated subsystems (116, 118, 120). The subsystems are part of an electronic system whose status is monitored by a processor (not shown) residing on transceiver circuit 102. Although not shown the subsystems are interconnected to form an electrical system remotely located from transceiver 102. In addition to a processor transceiver circuit 102 contains transmitter circuits and receiver circuits and other supporting circuitry that allow the processor to comply with the one wire bus I-button protocol. Transceiver 102 transmits queries onto one wire bus 106 specified for a particular I-button residing on a particular subsystem. The queried I-button responds to the query reporting the existence and status of the system on which it is currently residing. The I-buttons on each of the subsystems are electrically connected to these subsystems which many times contain stray capacitances and have noise that ultimately leaks onto the one wire bus. One of the reasons for such stray or leakage capacitance and noise is that the transceiver system, the subsystems and the I-buttons all use the same ground reference level 108. Thus a common path for circuit components on the subsystems, the I-buttons and the transceiver allows noise to leak through to the bus. Moreover each of the I-buttons uses capacitance as a means to store the internal voltage to the I-Button thereby storing information. Although these capacitances are diode isolated from the one wire bus, a relatively small portion of this capacitance is seen on the bus. The aggregate capacitance from the subsystems and the I-buttons adversely affects the communication signals on the bus. The communication signals are signals that switch from logic high (i.e., 5 volts) to logic low (i.e., 0 volt).
The subsystems and other circuitry proximately located to the one-wire bus generate noisy signals that affect the ability of transceiver 102 to accurately detect the switching 1's and 0's representing the communication signals on bus 106. Typically a low threshold and a high threshold is established which define a “1” or a “0” signal on the bus. Assuming the lowest voltage for a signal is 0 volt and the highest voltage is 5 volts a high threshold level is usually set a few tenths of a volt under 5 volts and the low threshold is usually set a few tenths of a volt above 0 volt. For example the high threshold can be 4.3 volts and the low threshold can be 0.7 volt. As a result a communication signal (usually digital signals) above 4.3 volts will be deemed to be a logic or digital “1” (i.e., a “high”) and a signal less than 0.7 volt will be deemed to be a logic or digital “0” (i.e., a “low”). However, many times for many semiconductor technologies the voltage at which a signal is defined as a “0” or a “1” is halfway between 0 volt and the high voltage—usually 5 volts. For example, for CMOS (Complementary Metal Oxide Semiconductor) technology a signal above 2.5 volts is a digital “1” and a signal below 2.5 volts is a digital “0”. When there is noise on the bus, a 2.5 volt noise signal can be erroneously interpreted as a “1” when in fact there is no signal on the bus or the actual signal is less than 0.7 volt. Also because of the extra capacitances on the one wire bus a “high” signal may take a relatively long time to ramp up to the “high” level. To resolve the capacitance problem an IBAP (I-Button Active Pull-up) device 104 is used to help pull the “high” voltages (i.e., ramp up faster) in spite of the extra capacitances.
Referring to FIG. 2 there is shown a portion of FIG. 1 depicting in detail the IBAP device 104. IBAP 104 comprises Voltage Sense Switch (VSS) device coupled to a first impedance Z1 and a second impedance Z2 where Z2<<Z1. For example Z1 may equal 1KΩ (1000 ohms in resistance) and Z2 may equal 100Ω. The VSS device, which can be implemented with a p-channel FET (Field Effect Transistor) senses the voltage on bus 106 and when the voltage is approaching a high threshold, say 4 volts, VSS switches from Z1 to Z2. The aggregate capacitance as seen by the bus is referred to as C. The total impedance provided by either pull-up impedance Z1 or Z2 is referred to as R. Thus there is an equivalent RC circuit connected to the bus resulting in a particular RC time constant. The IBAP device, and in particular, the VSS portion of the device is connected to circuit ground which represents reference point from which all voltage levels are based. Connection point 107—the reference connection point—of the IBAP device is typically connected to circuit ground. Because Z2<<Z1 the RC time constant becomes much less and the signal transitioning to a high voltage is better able to reach the 5 volts or a voltage above the high threshold typically set at or about 4.3 volts. In other words when the VSS senses a signal transitioning towards the high threshold it switches from a 1k pull-up to a 100 ohm pull-up reducing the RC time constant allowing the transitioning voltage to reach its high voltage quicker. Thus, IBAP device 104 is able to significantly reduce the adverse effects of the extra capacitance seen by the one wire bus 106. IBAP device 104 is typically implemented as an integrated circuit such as the MAX6314US26D1 manufactured by Maxim Inc. Even though the active pull-up device significantly reduces the adverse effects of the extra capacitance problem on the one wire bus, the communication signals are still within a noisy environment and therefore data transmitted onto the bus can still be erroneously interpreted by communication devices (I-buttons, transceiver) connected to the bus. What is therefore needed is a method and/or circuit that eliminates or significantly reduces the adverse effects of the noise on a one wire-bus to which a plurality of I-buttons and at least one active pull-up device is connected.